package com.achievement.domain.vo;

import com.achievement.domain.vo.author.ArtProductAuthorVO;
import com.common.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * 科研成果-艺术作品
 *
 * @author ruoyi
 * @date 2025-02-27
 */
@Data
@ApiModel(value = "艺术作品VO")
public class ArtProductVO {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty(value = "id")
    private String id;

    @ApiModelProperty(value = "作品名称")
    @Excel(name = "作品名称")
    private String name;

    @ApiModelProperty(value = "作品类型")
    @Excel(name = "作品类型")
    private String typeId;

    @ApiModelProperty(value = "所属单位")
    @Excel(name = "所属单位")
    private String unitId;

    @ApiModelProperty(value = "发表时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "发表时间", dateFormat = "yyyy-MM-dd")
    private Date publicationDate;

    private String honorUnit;

    private String isHonored;

    private String honorName;

    private String honorNumber;

    private Date honorDate;

    private String honorsn;

    @Excel(name = "学校署名",readConverterExp ="0=第一单位,1=非第一单位")
    @ApiModelProperty(value = "学校署名")
    private String schoolSign;

    @ApiModelProperty(value = "电子版附件")
    private String fileIds;

    @Excel(name = "备注")
    @ApiModelProperty(value = "备注")
    private String note;
    private String firstAuthorId;
    private String firstAuthorName;
    private String firstAuthorAccount;
    private String firstAuthorTitleId;
    private String firstAuthorSexid;
    private String firstAuthorEduLevelId;
    private String firstAuthorEduDegreeId;
    @ApiModelProperty(value = "divisionId")
    private String divisionId;

    @ApiModelProperty(value = "完成人数量")
    private Integer authorNumber;

    @Excel(name = "审核状态",readConverterExp ="-2=待完善,-1=暂存,1=审批中,2=审批通过,3=审批不通过")
    @ApiModelProperty(value = "审核状态")
    private String checkstatus;

    @ApiModelProperty(value = "审核时间")
    private String checkdate;

    @ApiModelProperty(value = "审核人")
    private String checker;

    @ApiModelProperty(value = "所有完成人id集合")
    private String authorpids;

    @Excel(name = "所有完成人姓名集合")
    @ApiModelProperty(value = "所有完成人姓名集合")
    private String authornames;

    @ApiModelProperty(value = "所有完成人工作单位集合")
    private String authorunitids;

    @ApiModelProperty(value = "数据完善状态")
    private String completedatastatus;

    @ApiModelProperty(value = "完成人列表")
    private List<ArtProductAuthorVO> authorList;

    private List<Map<String, String>> fileList;

    private String processInstanceId;

    private Boolean isAuditor;

    private String taskId;

}
